草庐IT

c++ - NULL == 指针

全部标签

java - 使用 JNI 从 C 调用 java 代码时发生内存泄漏

我有一个C程序,它使用JNI在java存储中存储一些对象。(在有人问之前,这里需要使用javastore,我必须用C编写一个客户端,它能够从这个store添加和检索对象)。我编写了程序并尝试添加100000个大小为1KB的对象。但是在仅添加50000个对象后,我收到“内存不足”消息(请注意,每当我无法使用NewStringUTF和NewByteArray函数分配新的字符串或字节数组时,我都会打印这些“内存不足”消息)。那时我的应用程序只使用了80MB的内存。我不明白为什么这些方法返回NULL。有什么我想念的吗。此外,即使我正在释放为java创建的字节数组和字符串,内存也会继续增加。这是

java - 我应该如何解决 java.lang.IllegalArgumentException : protocol = https host = null Exception?

我正在开发一个SSL客户端服务器程序,我必须重用以下方法。privatebooleanpostMessage(Stringmessage){try{StringserverURLS=getRecipientURL(message);serverURLS="https:\\\\abc.my.domain.com:55555\\update";if(serverURLS!=null){serverURL=newURL(serverURLS);}HttpsURLConnectionconn=(HttpsURLConnection)serverURL.openConnection();conn

java - 我应该如何编写 .i 文件以用 Java 或 C# 包装回调

我的C程序使用定期调用的回调函数。我希望能够处理Java或C#程序中的回调函数。我应该如何编写.i文件来实现这一点?C回调看起来是这样的:staticvoidon_incoming_call(pjsua_acc_idacc_id,pjsua_call_idcall_id,pjsip_rx_data*rdata) 最佳答案 如果您有机会通过回调传递一些数据,您可以这样做,但您需要编写一些JNI胶水。我整理了一个完整示例,说明如何将C样式回调映射到Java接口(interface)。您需要做的第一件事是确定适合Java端的接口(inte

Java 流 : find if stream contains null

很可能是重复的,但是我找不到任何特定的。给出publicstaticvoidmain(String[]args){System.out.println(Arrays.asList(null,null,1).stream().filter(obj->obj==null).findAny().isPresent());}期待至少应该有效(即返回false因为findAny返回Optional)。实际NullPointerException被抛出问题这是错误还是功能?感谢您的意见和解释。 最佳答案 此行为在findAny()的Javado

java - 是否可以从 Java 运行 C 源代码?

现在我有一些C源代码,我想在我的java应用程序中使用它。我需要执行C源代码,并将结果返回给我的java应用程序。我如何才能在我的java应用程序中重用C的源代码,而不是将所有C源代码重写为java? 最佳答案 看看JavaNativeInterface.TheJavaNativeInterface(JNI)isaprogrammingframeworkthatenablesJavacoderunninginaJavaVirtualMachine(JVM)tocallandtobecalledbynativeapplications

java - 使用 Java 解析/读取 C 头文件

我有一个C-Header文件,它定义了几个包含多个char数组的结构。我想使用Java解析这些文件。是否有用于将C-Header文件读入结构的库,或者是否有理解C-Header文件的流解析器?只是为了了解更多背景(我只是在寻找C-Header解析器,而不是针对这个特定问题的解决方案):我有一个包含数据的文本文件和一个解释结构的C-Header文件。两者都有点动态,所以我不想生成Java类文件。例子:#defineTYPE1typedefstructtype1{charname1[10];charname2[5];}#endifType2、Type3等类似。数据结构:type1fffff

java - Hamcrest 与 MockMvc : check that key exists but value may be null

我正在使用MockMvc进行一些测试,我想验证JSON响应的结构。具体来说,我想确保属性的键存在,并且该值是特定类型或null。{"keyToNull":null,#Thismaybenull,oraString"keyToString":"somevalue"}以下对我有用,但我想知道是否有办法将每组两个期望组合成一行,因为我有很多属性要检查:importstaticorg.springframework.test.web.servlet.result.MockMvcResultMatchers.*;importstaticorg.hamcrest.Matchers.*;.andEx

Java:构造函数中的 NULL

请问这个问题有点理论性,但我想了解它。为什么如果我将null参数传递给构造函数,我会得到一个NullPointerException?这是我的例子newAttendeeDetail("GusGoose","1151","15-01-2012",(Integer)null,null)这是类:publicclassAttendeeDetail{privateStringticketholder_name;privateStringuser_id;privateStringdate_of_birth;privateinttickets_purchased;privateArrayListti

java - 'a == null' 和 'null == a' 之间的区别

在检查变量是否为null时,我发现建议的编码风格是if(null==a)。这和if(a==null)有什么区别? 最佳答案 没有。出于历史原因,人们有时会写成null==a,因为它消除了C中与打字错误相关的错误的可能性。如果你要写:if(a=NULL){//note,onlysingle=...在C中,这将执行赋值语句a=NULL,语句的结果是分配的值(即NULL)。因此,不是检查a的值,而是将其设置为NULL,然后检查if(NULL),它始终为false。这编译,但几乎肯定不是你想要的。而这一切都是由于=与==的小拼写错误造成的。

Java 比 C 快

这个问题在这里已经有了答案:HowdoIwriteacorrectmicro-benchmarkinJava?(11个答案)关闭9年前。今天我做了一个简单的测试来比较java和c之间的速度-一个简单的循环,使整数“i”从0递增到20亿。我真的希望c语言比java更快。我对结果感到惊讶:java花费的时间(以秒为单位):大约。1.8秒c花费的时间(以秒为单位):大约。3.6秒。我根本不认为java是一种更快的语言,但我也不明白为什么在我的简单程序中循环比c快两倍?我是否在程序中犯了重大错误?还是MinGW的编译器配置不当之类的?publicclassJrand{publicstaticv